<?php
/**
 *商品类目
 */
class ItemCat{
	/**
	 * @var integer $cid 商品所属类目ID 
	 */
	var $cid; 
	/**
	 * @var integer $parent_cid 父类目ID=0时，代表的是一级的类目 
	 */
	var $parent_cid; 
	/**
	 * @var string $name 类目名称
	 */
	var $name ; 	
	/**
	 * @var boolean $is_parent 该类目是否为父类目(即：该类目是否还有子类目) 
	 */
	var $is_parent; 	
	/**
	 * @var String  $status 状态。可选值:normal(正常),deleted(删除)  
	 */
	var $status; 	
	/**
	 * @var integer $sort_order 排列序号，表示同级类目的展现次序，
	 * 如数值相等则按名称次序排列。取值范围:大于零的整数  
	 */
	var $sort_order; 	
}
/**
 *品牌
 */
class Brand{
	/**
	 * @var integer $vid 对应属性的 pid:vid 串中的vid   
	 */
	var $vid;	
	/**
	 * @var string $name vid的值
	 */
	var $name;	
	/**
	 * @var integer $pid 品牌的属性id  
	 */
	var $pid;	
	/**
	 * @var string $prop_name 品牌的属性名
	 */
	var $prop_name;		
}
/**
 *授权
 */
class SellerAuthorize{
	/**
	 * @var array $item_cats 类目列表，类型@see ItemCat
	 */
	var $item_cats=array();
	/**
	 * @var array $brands 品牌列表，类型@see Brand
	 */
	var $brands=array();	
 /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array('item_cats'=>'ItemCat','brands'=>'Brand'));	
}
/**
 *属性值
 */
class PropValue{
  /** 
  *@var integer $cid 类目ID
  */ 
  var $cid;
  /** 
  *@var integer $pid 属性 ID
  */ 
  var $pid;
  /** 
  *@var string $prop_name 属性名
  */ 
  var $prop_name;
  /** 
  *@var integer $vid 属性值ID
  */ 
  var $vid;
  /** 
  *@var string $name 属性值
  */ 
  var $name;
  /** 
  *@var string $name_alias 属性值别名
  */ 
  var $name_alias;
  /** 
  *@var boolean $is_parent 是否为父类目属性
  */ 
  var $is_parent;
  /** 
  *@var string $status 状态。可选值:normal(正常),deleted(删除)
  */ 
  var $status;
  /** 
  *@var integer $sort_order 排列序号。取值范围:大于零的整数
  */ 
  var $sort_order;	
}
/**
 *商品属性基础类
 */
class ItemPropBase{
  /** 
  *@var integer $pid 属性 ID 例：品牌的PID=20000
  */ 
  var $pid;	
  /** 
  *@var integer $parent_pid 上级父属性ID
  */ 
  var $parent_pid;  
  /** 
  *@var boolean $is_key_prop 是否关键属性。可选值:true(是),false(否)
  */ 
  var $is_key_prop;
  /** 
  *@var boolean $is_sale_prop 是否销售属性。可选值:true(是),false(否)
  */ 
  var $is_sale_prop;    
  /** 
  *@var boolean $is_color_prop 是否颜色属性。可选值:true(是),false(否)
  */ 
  var $is_color_prop;
  /** 
  *@var boolean $is_enum_prop 是否是可枚举属性。可选值:true(是),false(否)
  */ 
  var $is_enum_prop;
  /** 
  *@var boolean $is_input_prop 是否是卖家可以自行输入的属性。可选值:true(是),false(否)
  */ 
  var $is_input_prop;  
  /** 
  *@var boolean $is_item_prop 是否商品属性。可选值:true(是),false(否)
  */ 
  var $is_item_prop;  
}
/**
 *商品属性参数类
 *<br/>取类目属性时，传pid，不用同时传pid和parent_pid
 *<br/>删除的属性不会匹配和返回这个条件:is_color_prop,is_enum_prop ,is_input_prop
 *<br/>is_item_prop 这个属性只能放于发布商品时使用
 */
class ItemPropParam extends ItemPropBase{
  /** 
  *@var integer $cid 叶子类目ID，必须传递
  *<br/>如果只传cid，则只返回一级属性,通过taobao.itemcats.get获得叶子类目ID 
  */ 
  var $cid;	
  /**
   * @var string $datetime 增量时间戳。格式:yyyy-MM-dd HH:mm:ss
   * 假如传2005-01-01 00:00:00，则取所有的属性和子属性ID(如果传了pid会忽略datetime) 
   */
  var $datetime; 
  /**
   * @var string $child_path 类目子属性路径,由该子属性上层的类目属性和类目属性值组成,
   * 格式pid:vid;pid:vid.取类目子属性需要传child_path,cid 
   */
  var $child_path;   
}
/**
 *商品属性
 */
class ItemProp extends ItemPropBase{
  /** 
  *@var integer $parent_vid 上级属性值ID
  */ 
  var $parent_vid;
  /** 
  *@var string $name 属性名
  */ 
  var $name;

  /** 
  *@var boolean $must 发布产品或商品时是否为必选属性。可选值:true(是),false(否)
  */ 
  var $must;
  /** 
  *@var boolean $multi 发布产品或商品时是否可以多选。可选值:true(是),false(否)
  */ 
  var $multi;
  /** 
  *@var array $prop_values 属性值对象，类型@see PropValue
  */ 
  var $prop_values=array();
  /** 
  *@var string $child_template 子属性的模板（卖家自行输入属性时需要用到）
  */ 
  var $child_template;
  /** 
  *@var string $status 状态。可选值:normal(正常),deleted(删除)
  */ 
  var $status;
  /** 
  *@var integer $sort_order 排列序号。取值范围:大于零的整数
  */ 
  var $sort_order;
  /** 
  *@var boolean $is_allow_alias 是否允许别名。可选值:true(是),false(否)
  */ 
  var $is_allow_alias;	
 /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array('prop_values'=>'PropValue'));	
  
}

//内部用
class _ItemPropList {
	/**
	 * @var array  $item_props 类型@see ItemProp;
	 */
	var $item_props=array();
	var $last_modified;
 /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array('prop_values'=>'PropValue','item_props'=>'ItemProp'));	
}
